// pages/bookinfo/index.js
let bool = true //防抖节流
Page({

  /**
   * 页面的初始数据
   */
  data: {
    book:{},
    islike:false
  },
  // 处理收藏按钮的单击行为
  handelLikeCancel(){
    if(bool){
      bool = false
      if(this.data.islike){
        this.handelCancel()//取消收藏
      }
      else{
        this.handelLike()// 收藏
      }
    }
  },
  // 取消收藏
  async handelCancel(){
    let userId = getApp().userInfo?.openid
    let courseId = this.data.book.id
    let res = getApp().db.collection('booklike').where({
      userId,courseId
    }).remove()
    this.setData({islike:false},()=>{
      bool=true
    })
    wx.showToast({
      title: '取消成功',
      icon:'none'
    })
    console.log('取消收藏结果',res);
  },
  // 收藏
  handelLike(){
    // 1. 获取用户id
    wx.getStorage({
      key:'userinfo',
      success:async (info)=>{
        console.log('用户已经登录',info);
        let userId = info.data.openid
        // 2. 获取被收藏的数据（课程id及其他）
        let {id,path,name} = this.data.book
        // 3. 将完整的数据加入收藏表
        let res = await getApp().db.collection('booklike').add({
          data:{userId,courseId:id,path,name}
        })
        // 4. 提示收藏状态
        this.setData({islike:true},()=>{
          bool=true
        })
        wx.showToast({
          title: '收藏成功',
          icon:'none'
        })
        console.log("收藏成功",res);
      },
      fail:(err)=>{
        console.log('用户未登录',err);
        wx.showModal({
          title: '登录后才能操作',
          content: '是否跳转至个人中心进行授权登录？',
          complete: (res) => {
            if (res.cancel) {
              console.log('取消');
            }
            if (res.confirm) {
              console.log('确认');
              wx.switchTab({
                url: '/pages/mine/index',
              })
            }
          }
        })
      }
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    wx.getStorage({
      key:'Bookinfo',
      success:(res)=>{
        console.log('详情',res)
        this.setData({book:res.data})
        // 查看收藏状态
        this.checkLikestatus(res.data.id)
      }
    });
  },
  // 查看收藏状态
  async checkLikestatus(courseId){
    let userId = getApp().userInfo?.openid
    console.log('openId',userId);
    let res = await getApp().db.collection('booklike').where({
      courseId,userId
    }).get()
    console.log('查询结果',res);
    if(res.data.length){
      this.setData({islike:true})
    }
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})